<?php

namespace app\dao;

use app\model\CertificateModel;

class CertificateDao extends BaseDao
{
    // 声明一个私有变量$query
    private $query;


    // 设置模型
    protected function setModel()
    {
        return CertificateModel::class;
    }

    // 构造函数
    public function __construct()
    {
        // 实例化CertificateModel
        $this->query = new CertificateModel();
    }

    /**
     * 根据id获取数据
     * @param $id
     * @return array
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundException
     */
    public function getDataById($cid){

        // 根据id查找数据
        $result = $this->find($cid);

        // 如果没有找到数据，返回空数组
        if (!$result) {
            return [];
        }


        // 返回数据
        return $result->toArray();
    }

    // 根据id更新数据
    public function upDataById($cid,$data){

        // 根据id更新数据
        $result = $this->edit($cid,$data);

        // 如果没有更新成功，返回空数组
        if (!$result) {
            return [];
        }


        // 返回更新后的数据
        return $result->toArray();
    }
    public function createCertificate(array $certificateData): array
    {
        // 尝试插入新的证书数据
        $result = $this->query->create($certificateData);

        // 如果插入成功，返回新创建的证书数据
        if ($result) {
            return $result->toArray();
        }

        // 如果插入失败，返回空数组
        return [];
    }
}